package Two.ExaminationSystem;

/**
 * Description:随机抽题
 */
public class RandomAcquirement {//随机抽题系统

    private int type;
    private int number;

    private int[] typeNum;//存放每个题型出的次数
    private boolean[][] isSet;//存放每个题是否已经被出过 - 默认false为未被出过

    public RandomAcquirement() {
        typeNum = new int[3];
        isSet = new boolean[3][10];
    }

    public int setType(){//获取题型
        type = (int)(Math.random()*3);//随机抽取题型
        while(typeNum[type]==5){//该题型已经出了5次，不能再出，重新抽题型
            type = (int)(Math.random()*3);
        }
        typeNum[type]++;//对应题型出的次数+1
        return type;
    }

    public int setNumber() {//获取题号
        number = (int)(Math.random()*10);//随机抽取题号
        while (isSet[type][number]==true){//抽到的题已经出过
            number = (int)(Math.random()*10);//重新抽取
        }
        isSet[type][number] = true;//设置该题已出
        return number;
    }

    public int[] getTypeNum() {
        return typeNum;
    }

    public int getType() {
        return type;
    }

    public int getNumber() {
        return number;
    }

}
